#include <iostream>
using namespace std;

//全局变量
int ga = 20;
int gb = 30;

//const修饰的全局常量
const int cga = 10;
const int cgb = 20;

int main()
{
    //全局区
    //全局变量、静态变量、常量(字符串常量、全局常量)

    //创建普通局部变量
    int a = 10;
    int b = 99;

    cout << "局部变量a的地址为：" << &a << endl;
    cout << "局部变量b的地址为：" << &b << endl;
    cout << "全局变量ga的地址为：" << &ga << endl;
    cout << "全局变量gb的地址为：" << &gb << endl;

    
    //静态变量  在普通变量之前加static，属于静态变量
    static int sa = 40; 
    static int sb = 50;
    
    cout << "静态变量sa的地址为：" << &sa << endl;
    cout << "静态变量sb的地址为：" << &sb << endl;


    //常量
    //字符串常量
    cout << "字符串常量的地址为：" << &"Hello world" << endl;

    //const修饰的变量
    //const修饰的全局变量
    cout << "全局常量cga的地址为：" << &cga << endl;
    cout << "全局常量cgb的地址为：" << &cgb << endl;

    const int cla = 10; // const local a
    const int clb = 20;

    cout << "局部常量cla的地址为：" << &cla << endl;
    cout << "局部常量clb的地址为：" << &clb << endl;
    
    return 0;
}